//#include <bits/stdc++.h>
//using namespace std;
//int arr[] = { 5 ,6 ,8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3 ,6 ,4 ,7 ,7 ,5 ,9 ,5 ,0 ,3, 8, 7, 5 ,8 ,1 ,5 ,8 ,6, 1, 8, 3, 0, 3, 7, 9, 2,
//7 ,0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3, 8, 5, 1, 6, 3, 4, 6, 7, 0, 7 ,8 ,2 ,7 ,6 ,8, 9, 5, 6, 5, 6, 1, 4, 0, 1,
//0, 0, 9 ,4 ,8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3 };
//static int A[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
//bool check_year(string s)
//{
//	string str = "2023";
//	for (int i = 0; i < str.size(); i++)
//	{
//		if (s[i] != str[i])return false;
//	}
//	if (s[0] == s[1] && s[1] == s[2] && s[2] == s[3])return true;
//	return false;
//}
//bool check_month(string s)
//{
//	int month = stoi(s);
//	if (month > 12||month<=0)return false;
//	if (s[0] == s[1])return true;
//	return false;
//}
//bool check_day(string syear,string smonth,string sday)
//{
//	int year = stoi(syear);
//	int month = stoi(smonth);
//	int day = stoi(sday);
//	int val = A[month];
//	if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || (year % 400) == 0))val = 29;
//	if (day > val)return false;
//
//	if (sday[0] == sday[1])return true;
//
//	return false;
//}
//int main()
//{
//	int res = 0;
//	for (int a = 0; a < 100; a++)
//	{
//		if(a==2)
//		for (int b = a+1; b < 100; b++)
//		{
//			if (b ==0)
//			{
//				for (int c = b + 1; c < 100; c++)
//				{
//					if (c ==2)
//					{
//						for (int d = c + 1; d < 100; d++)
//						{
//							if (d ==3)
//							{
//								for (int e = d + 1; e < 100; e++)
//								{
//									if (e != d)
//									{
//										for (int f = e + 1; f < 100; f++)
//										{
//											if (f != e)
//											{
//												for (int g = f + 1; g < 100; g++)
//												{
//													if(g != f)
//													{
//														for (int h = f + 1; h < 100; h++)
//														{
//															if (h != f)
//															{
//
//															}
//														}
//													}
//												}
//											}
//										}
//									}
//								}
//							}
//						}
//					}
//				}
//			}
//		}
//	}
//	cout<<res<<endl;
//	return 0;
//}
//////int main()
//////{
//////	sort(arr, arr + 100);
//////	int cnt = 0;
//////	do
//////	{
//////		cnt++;
//////	} while (next_permutation(arr, arr + 100));
//////}
//
//
////#include <bits/stdc++.h>
////using namespace std;
////
////int main()
////{
////	for (int i = 0; i <= 2333333;i++)//
////	{
////		for (int j = 0; j <= 2333333 - i;j++)
////		{
////			if (i + j == 2333333)
////			{
////				double res=0;
////				res += -1.0 * 1 / 3 * i * (-0.47712125);
////				res+= -1.0 * 2 / 3 * i * (-0.17609125);
////				if (fabs(11625907.5798 - res) < 1e-5)
////				{
////					cout << i << ' ' << j << endl;
////				}
////			}
////		}
////	}
////	return 0;
////}
//
//
////#include <bits/stdc++.h>
////using namespace std;
////const int INF = 1e9;
////const int N=1e5+10;
////double arr[2][N];
////int main()
////{
////	int Min = INF;
////	int Max = 0;
////	int n;
////	cin >> n;
////	for(int i=1;i<=n;i++)
////		double A,B;
////		cin>>arr[0][i]>>arr[1][i];
////		int val=A/B;
////		int val2=A/B+1;
////		int val3=A/B-1;
////		if(check(val1)&&check(val2)&&check(val2))
////		{
////
////		}
////
////	}
////	cout << Min << ' ' << Max << endl;
////	return 0;
////}
//
#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const int N=1e5+10;
double arr[2][N];
typedef unsigned long long ull;
int main()
{
	int Min = INF;
	int Max = 0;
	int n;
	cin >> n;
	while(n--)
	{
		ull A,B;
		cin>>A>>B;
		int val=A/B;
		Min=min(Min,val);//最大值
		A+=1;
		B+=1;
		val=A/B;
		Max=max(Max,val);
	}
	cout << Max << ' ' << Min << endl;
	return 0;
}
//
//
//#include <bits/stdc++.h>
//using namespace std;
//const int N=1e5+10;
//int b[N],a[N];
//int st[N];
//void insert(int l,int r)
//{
//	b[l]+=1;
//	b[r+1]-=1;
//}
//struct Node
//{
//	int t,d,l;
//};
//bool cmp(Node t1,Node t2)
//{
//	if(t1.t!=t2.t)
//	return t1.t<t2.t;
//	if(t1.d!=t2.d)
//	return t1.d<t2.d;
//	if(t1.l!=t2.l)
//	return t1.l<t2.l;
//}
//int main()
//{
//	int t;
//	cin>>t;
//	while(t--)
//	{
//		int n;
//		cin>>n;
//		Node arr[n];
//		for(int i=0;i<n;i++)
//		{
//			cin>>arr[i].t>>arr[i].d>>arr[i].l;
//		}
//		sort(arr,arr+n,cmp);
//
//	}
//	return 0;
//}
